﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Linq;
using QuanLyPhongMach.Model;
using System.Data.OleDb;

namespace QuanLyPhongMach.Context
{
    public class CThamSoContext : DataContext
    {
        #region Variable 
        Table<CThamSo> tableThamSo;
        #endregion 

        #region Constructor
        public CThamSoContext(string strConnection)
            : base(strConnection)
        {
            InitializeTableThamSo();
        }

        public CThamSoContext(OleDbConnection connection)
            : base(connection)
        {
            InitializeTableThamSo();
        }

        private void InitializeTableThamSo()
        {
            tableThamSo = GetTable<CThamSo>();
        }
        #endregion

        #region Public Method

        /// <summary>
        /// Lấy tham số hiện hành
        /// </summary>
        /// <returns>Đối tượng CThamSo</returns>
        public CThamSo LayThongTinThamSo()
        {
            try
            {
                var query = from e in tableThamSo select e;

                return query.ToList().First();
            }
            catch { return null; }
        }
            
        /// <summary>
        /// Cập nhật tiền khám
        /// </summary>
        /// <param name="tienkham">Giá trị tiền khám thay đổi</param>
        public void CapNhatTienKham(int tienkham)
        {
            var thamso = LayThongTinThamSo();
            var res = new CThamSo(tienkham, thamso.SoLuongKhamToiDaTrongNgay);

            tableThamSo.DeleteOnSubmit(thamso);
            tableThamSo.InsertOnSubmit(res);
            this.SubmitChanges();
        }

        /// <summary>
        /// Cập nhật số lượng khám tối đa trong ngày
        /// </summary>
        /// <param name="soluongkhamtoidatrongngay">Giá trị thay đổi</param>
        public void CapNhatSoLuongKhamToiDaTrongNgay(int soluongkhamtoidatrongngay)
        {
            var thamso = LayThongTinThamSo();
            var res = new CThamSo(thamso.TienKham, soluongkhamtoidatrongngay);

            tableThamSo.DeleteOnSubmit(thamso);
            tableThamSo.InsertOnSubmit(res);
            this.SubmitChanges();
        }
        #endregion
    }
}
